﻿/**
	@file	Play_Game.h
	@date	2013/1/25
	@author	김진식(jeensig@gmail.com)
	@brief	Playing 게임
*/

#ifndef _PLAY_GAME_H_
#define _PLAY_GAME_H_

#include "GameInterface.h"
#include "Map.h"
#include "Block.h"
#include <string>

class InputProcess;

/**
	@class	PlayingGame
	@date	2013/1/28
	@author	김진식(jeensig@gmail.com)
	@brief	Playing 게임
*/
class PlayingGame : public GameInterface
{
public:
	PlayingGame();
	~PlayingGame();

	void Init();
	void Update(TetrisGame* owner);
	void Render();

private:

	void KeyDown(InputProcess* input);

	void LineCheck(); ///< 라인이 제거 될 수 있는지 검사
	void LineDelete(int line); ///< 라인 제거
	void LineDown(int line); ///< 라인을 하나씩 내리기
	
	void InterfaceRender(); ///< 인터페이스 렌더

private:
	Map map_; ///< 맵
	Block block_; ///< 게임에 사용될 블럭
	int score_; ///< 점수
};

#endif